package com.heima.pojo.entity;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigInteger;
import java.time.LocalDateTime;

/**
 * 售货机货道表实体类（对应 tb_channel 表）
 */
@Data // Lombok 注解：自动生成 getter/setter、toString、equals、hashCode 等
public class TbChannel {

    /**
     * 表Id（对应 channel_id 字段，自增主键，非空）
     */
    private BigInteger channelId;

    /**
     * 货道编号（对应 channel_code 字段，非空，长度10）
     */
    private String channelCode;

    /**
     * 商品Id（对应 sku_id 字段，可空，默认0）
     */
    private BigInteger skuId;

    /**
     * 售货机Id（对应 vm_id 字段，非空）
     */
    private BigInteger vmId;

    /**
     * 售货机软编号（对应 inner_code 字段，非空，长度15）
     */
    private String innerCode;

    /**
     * 货道最大容量（对应 max_capacity 字段，非空，默认0）
     */
    private Integer maxCapacity;

    /**
     * 货道商品真实售价（对应 price 字段，可空，默认0）
     * 注：若单位为“分”（数据库存储整数避免浮点精度问题），业务层需转换为“元”
     */
    private Integer price;

    /**
     * 货道当前容量（对应 current_capacity 字段，可空，默认0）
     */
    private Integer currentCapacity;

    /**
     * 上次补货时间（对应 last_supply_time 字段，可空，datetime类型）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 前端传参时的时间格式规范
    private LocalDateTime lastSupplyTime;

    /**
     * 创建时间（对应 create_time 字段，非空，datetime类型）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 修改时间（对应 update_time 字段，非空，datetime类型）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

}